This invention relates to a method and device for transmitting media quality data in a media stream.
Real-time streaming of multimedia content over the Internet has become an increasingly common application in recent years. A wide range of multimedia applications, such as on-demand TV, live TV viewing, audio streaming, video conferencing, net meetings, video telephony, Voice over Internet Protocol (VoIP) and many others rely on end-to-end streaming solutions. Unlike a “downloaded” media file, which may be retrieved first in “non-real” time and played back later, streaming media applications require a media source to encode and to transmit a media signal over a network to a media receiver, which must decode and playback the media signal in real time.
Problems can arise when a media stream is transmitted across a network, such as the Internet. For example, a significant packet loss rate across the transmission network leads to the media stream received at a receiving device to be incomplete. Typically, an attempt may be made to recover the lost packets prior to the time the media in those packets is due to be played back. If a lost packet is not received or recovered, the playback quality of the media will be degraded.
In order to optimise playback quality of the media, the transmitting and receiving devices may exchange information about the quality of the media stream. For example, a receiving device may recover lost packets by determining which packets have been lost in the network and then sending a request to the transmitting device to retransmit those packets. In an another example, the transmitting device may utilise Forward Error Correction (FEC) techniques, in which some redundant data or packets are sent to the receiving device along with the media packets. FEC packets allow the receiving device to recover media packets that may have been lost. The FEC packets can be included in the media stream before it is known whether any packet losses have occurred at the receiving device and if any repairs are necessary. The number of FEC packets transmitted may be determined from packet loss information (e.g. a percentage packet loss) received from the receiving device.
It is desirable to optimise the quality of media played back at a receiving device. Thus it can be beneficial to efficiently exchange quality data in order to optimise a media stream.